package net.molchat.android.scrn.theme;

import android.graphics.Color;


/**
 * Themes manager.
 * 
 * 
 * 
 * @author Valentyn Markovych, Lsynnc at gmail.com Created: 14.10.2012 15:42:20
 * 
 */
public class ThemeMan {

//==================================================================== Constants
public static final int ROOM = 0; // Theme type: Room contact
public static final int ONE = 1; // Theme type: personal contact


//======================================================================= Fields
private static ContCol roomCol; // Room color scheme
private static ContCol oneCol; // Personal color scheme


//======================================================================= getCol
public static void init() {

	ThemeMan.setRoomCol();
	ThemeMan.setOneCol();
}


//======================================================================= getCol
public static ContCol getCol(int contType, int contNum) {

	switch (contType) {
		case ONE:
			return oneCol;
		default:
			return roomCol;
	}
}


private static void setOneCol() {

	oneCol = new ContCol();

	// Цвета фона экрана, градиентов
	oneCol.clk = Color.rgb(0x00, 0x00, 0x80); // Цвет текста часов в углу
	oneCol.messBg = Color.rgb(0xF0, 0xF0, 0xFF); //Цвет фона окна сообщений контакта
	oneCol.messBgSel = Color.rgb(0xd0, 0xff, 0xd0); //Цвет фона выделенного сообщения
	oneCol.titBg1 = Color.rgb(0xff, 0xaf, 0x30); //Цвет фона титульника контакта
	oneCol.titBg2 = Color.rgb(0xff, 0xff, 0xff); //Цвет фона титульника контакта
	oneCol.shad = Color.rgb(0x20, 0x20, 0x20); //Цвет тени. Вычитается из фона
	oneCol.statBg1 = Color.rgb(0xff, 0xff, 0xff); //Цвет фона строки статуса для контакта 1
	oneCol.statBg2 = Color.rgb(0xFF, 0xc0, 0x50); //Цвет фона строки статуса для контакта 2
	oneCol.scrBg1 = Color.rgb(0xb0, 0xd0, 0xff); // Цвет фона экрана 1
	oneCol.scrBg2 = Color.rgb(0xff, 0xff, 0xff); // Цвет фона экрана 2
	oneCol.line = Color.rgb(0x00, 0x00, 0x80); //Цвет линий границ окошек
	oneCol.lineSel = Color.rgb(0x00, 0x00, 0x80); //Цвет линий выделенного сообщения
	oneCol.shadWin = Color.rgb(0x50, 0x50, 0x50); // Темнота тени окошек
	oneCol.shadTxt = Color.rgb(0x30, 0x30, 0x30); // Темнота текстовой тени
	oneCol.tit_online = Color.rgb(0x80, 0x00, 0x00); // Цвет текста титульника контакта (в сети)
	oneCol.tit_offline = Color.rgb(0xff, 0xff, 0xff); // Цвет текста титульника контакта (не в сети)
	oneCol.stat = Color.rgb(0x80, 0x00, 0x00); // Цвет текста статуса контакта

	// Значок новых сообщений
	oneCol.lineNew = Color.rgb(0x00, 0x00, 0x00); // Цвет линий
	oneCol.newBg1 = Color.rgb(0x80, 0xff, 0xff); // Цвет фона 1
	oneCol.newBg2 = Color.rgb(0x00, 0xa0, 0xa0); // Цвет фона 2

	// Цвет сообщений разного типа
	oneCol.mess[ContCol.T_EMPTY] = Color.rgb(0xe0, 0xe0, 0xe0); // Сброшено (пустое)
	oneCol.mess[ContCol.T_SERV] = Color.rgb(0x00, 0xff, 0x00); // Локальное сервисное

	oneCol.mess[ContCol.T_IN_ONE] = Color.rgb(0x00, 0x00, 0xa0); // Входящее, обычное (от пользователя)
	oneCol.mess[ContCol.T_IN_SERV] = Color.rgb(0x00, 0x00, 0x00); // Входящее сервисное
	oneCol.mess[ContCol.T_IN_ADV] = Color.rgb(0x00, 0x90, 0x00); // Входящее, реклама

	oneCol.mess[ContCol.T_OUT] = Color.rgb(0xa0, 0xa0, 0xa0); // Исходящее, не доставлено
	oneCol.mess[ContCol.T_OUT_SERV] = Color.rgb(0x90, 0x90, 0x90); // Исходящее, доставлено на сервер
	oneCol.mess[ContCol.T_OUT_ADR] = Color.rgb(0x90, 0x00, 0x00); // Исходящее, доставлено адресату

	// Цвет часов сообщений разного типа
	oneCol.messClk[ContCol.T_EMPTY] = Color.rgb(0xf0, 0xf0, 0xf0); // Сброшено (пустое)
	oneCol.messClk[ContCol.T_SERV] = Color.rgb(0x60, 0xff, 0x60); // Локальное сервисное

	oneCol.messClk[ContCol.T_IN_ONE] = Color.rgb(0x70, 0x70, 0xb4); // Входящее, обычное (от пользователя)
	oneCol.messClk[ContCol.T_IN_SERV] = Color.rgb(0x60, 0x60, 0x60); // Входящее сервисное
	oneCol.messClk[ContCol.T_IN_ADV] = Color.rgb(0x60, 0x90, 0x60); // Входящее, реклама

	oneCol.messClk[ContCol.T_OUT] = Color.rgb(0xb0, 0xb0, 0xb0); // Исходящее, не доставлено
	oneCol.messClk[ContCol.T_OUT_SERV] = Color.rgb(0xf0, 0xf0, 0xf0); // Исходящее, доставлено на сервер
	oneCol.messClk[ContCol.T_OUT_ADR] = Color.rgb(0xb0, 0x8c, 0x8c); // Исходящее, доставлено адресату
}


private static void setRoomCol() {

	roomCol = new ContCol();

	// Цвета фона экрана, градиентов
	roomCol.clk = Color.rgb(0x00, 0x00, 0x80); // Цвет текста часов
	roomCol.messBg = Color.rgb(0xfc, 0xf8, 0xc5); // Цвет фона окна сообщений
	roomCol.messBgSel = Color.rgb(0xd0, 0xff, 0xd0); // Цвет фона выделенного сообщения
	roomCol.titBg1 = Color.rgb(0x9F, 0xCF, 0xFF); // Цвет фона титульника контакта
	roomCol.titBg2 = Color.rgb(0xff, 0xff, 0xff); // Цвет фона титульника контакта
	roomCol.shad = Color.rgb(0x20, 0x20, 0x20); // Цвет тени. Вычитается из фона
	roomCol.statBg1 = Color.rgb(0xff, 0xff, 0xff); // Цвет фона строки статуса для контакта 1
	roomCol.statBg2 = Color.rgb(0x9F, 0xCF, 0xFF); // Цвет фона строки статуса для контакта 2
	roomCol.scrBg1 = Color.rgb(0xFB, 0xF7, 0xD2); // Цвет фона экрана 1
	roomCol.scrBg2 = Color.rgb(0xff, 0xff, 0xff); // Цвет фона экрана 2
	roomCol.line = Color.rgb(0x40, 0x00, 0x00); // Цвет линий границ окошек
	roomCol.lineSel = Color.rgb(0x40, 0x00, 0x00); // Цвет линий выделенного сообщения
	roomCol.shadWin = Color.rgb(0x50, 0x50, 0x50); // Темнота тени окошек
	roomCol.shadTxt = Color.rgb(0x30, 0x30, 0x30); // Темнота текстовой тени
	roomCol.tit_online = Color.rgb(0x80, 0x00, 0x00); // Цвет текста титульника контакта (в сети)
	roomCol.tit_offline = Color.rgb(0xff, 0xff, 0xff); // Цвет текста титульника контакта (не в
	// сети)
	roomCol.stat = Color.rgb(0x80, 0x00, 0x00); // Цвет текста статуса контакта

	// Значок новых сообщений
	roomCol.lineNew = Color.rgb(0x00, 0x00, 0x00); // Цвет линий
	roomCol.newBg1 = Color.rgb(0x80, 0xff, 0xff); // Цвет фона 1
	roomCol.newBg2 = Color.rgb(0x00, 0xa0, 0xa0); // Цвет фона 2

	// Цвет сообщений разного типа
	roomCol.mess[ContCol.T_EMPTY] = Color.rgb(0xe0, 0xe0, 0xe0); // Сброшено (пустое)
	roomCol.mess[ContCol.T_SERV] = Color.rgb(0x00, 0xff, 0x00); // Локальное сервисное

	roomCol.mess[ContCol.T_IN_ROOM] = Color.rgb(0x00, 0x00, 0x90); // Входящее, в комнате, обычное
	roomCol.mess[ContCol.T_IN_PRIVATE] = Color.rgb(0x00, 0x00, 0xe0); // Входящее в комнате, личное
	roomCol.mess[ContCol.T_IN_SERV] = Color.rgb(0x00, 0x00, 0x00); // Входящее сервисное
	roomCol.mess[ContCol.T_IN_ADV] = Color.rgb(0x00, 0x90, 0x00); // Входящее, реклама

	roomCol.mess[ContCol.T_OUT] = Color.rgb(0xa0, 0xa0, 0xa0); // Исходящее, не доставлено
	roomCol.mess[ContCol.T_OUT_SERV] = Color.rgb(0x90, 0x90, 0x90); // Исходящее, доставлено на сервер
	roomCol.mess[ContCol.T_OUT_ADR] = Color.rgb(0x90, 0x00, 0x00); // Исходящее, доставлено адресату
	roomCol.mess[ContCol.T_OUT_ALL] = Color.rgb(0x50, 0x00, 0x00); // Исходящее, доставлено всем адресатам


	// Цвет ЧАСОВ сообщений разного типа
	roomCol.messClk[ContCol.T_EMPTY] = Color.rgb(0xff, 0xff, 0xff); // Сброшено (пустое)
	roomCol.messClk[ContCol.T_SERV] = Color.rgb(0x40, 0xff, 0x40); // Локальное сервисное

	roomCol.messClk[ContCol.T_IN_ROOM] = Color.rgb(0xa0, 0xa0, 0xa0); // Входящее, в комнате, обычное
	roomCol.messClk[ContCol.T_IN_PRIVATE] = Color.rgb(0x30, 0x30, 0x30); // Входящее в комнате, личное
	roomCol.messClk[ContCol.T_IN_SERV] = Color.rgb(0xa0, 0xa0, 0xa0); // Входящее сервисное
	roomCol.messClk[ContCol.T_IN_ADV] = Color.rgb(0xa0, 0xa0, 0xa0); // Входящее, реклама

	roomCol.messClk[ContCol.T_OUT] = Color.rgb(0xa0, 0xa0, 0xa0); // Исходящее, не доставлено
	roomCol.messClk[ContCol.T_OUT_SERV] = Color.rgb(0xa0, 0xa0, 0xa0); // Исходящее, доставлено на сервер
	roomCol.messClk[ContCol.T_OUT_ADR] = Color.rgb(0x30, 0x30, 0x30); // Исходящее, доставлено адресату
	roomCol.messClk[ContCol.T_OUT_ALL] = Color.rgb(0x30, 0x30, 0x30); // Исходящее, доставлено всем адресатам

	roomCol.messNick = Color.rgb(0x30, 0x30, 0x30);
}

}
